<?php
if (!defined('BASEPATH'))
	exit('No direct script access allowed');

class Adsent extends CI_Controller {
	public $number;
	public $number_id;
	// номер телефона
	public $password;
	// пароль

	function __controller() {
		parent::Controller();

		$this -> load -> library('session');
		$this -> number_id = $this -> session -> userdata('id_phone');
	}

	/*
	 public function index($page = 0) {

	 $this -> load -> model('Views_modul', 'views');

	 #		$this -> load -> model('Adsent_modul', 'news');

	 #   $content['rubrics'] = $this -> news -> rubrics();

	 #		$data['ads'] = $this -> news -> getData($page);

	 #	$this -> views -> content = $this -> load -> view('adsent/default', $data, true);
	 $this -> views -> head = '<link rel="stylesheet" media="screen" href="/css/advert.css" type="text/css" />';
	 $this -> views -> title = 'Объявления недвижимости';
	 $this -> views -> menu = 'adsent';
	 $content = $this -> views -> request_view();
	 $this -> load -> view('home', $content);
	 }

	 */

	public function index($ids=77) {
			 
			
		# первый этап при добавлении объявления
		# Выбор региона
		$this -> load -> model('Views_modul', 'views');
		$this -> views -> title = 'Добавить объявление, выберите регион';
		$this -> load -> model('Search_modul', 'search');
 
	
		$data['counts']['adsent'] = $this -> search -> adsent_count('rflat');
		
		$data['adsall'] = $this -> search -> adsent_count();
 	
		$data['type_count'] =  $this -> search ->adsent_type($ids);
		
		$r= $this -> search ->select_region($ids); 
		
		$data['counts']['select'] = $r['code'];
	 
	
	
		$this -> views -> content = $this -> load -> view('search_adsent/home', $data, true);

		$this -> views -> menu = 'search';
		$this -> views -> left = '';
		

		$this -> views -> pathway = '';
		$this -> views -> head = '';
		$content = $this -> views -> request_view();
		$this -> load -> view('home', $content);

		return;
	}














	/**
	 * отображение статистики объявлений по типу запроса
	 */

	public function adsent_count() {

		$this -> load -> model('Search_modul', 'search');

		$type = mb_substr($this -> input -> post('type'), 0, 1);

		$objs = $this -> input -> post('objs');
		
	 	$data['select'] = $this -> input -> post('select'); 
		
		$sw = $type . $objs;
		switch ($sw) {
			case 'sflat' :
				$data['adsent'] = $this -> search -> adsent_count($sw);
				break;
			case 'ssuburbian' :
				$data['adsent'] = $this -> search -> adsent_count($sw);
				break;
			case 'soffice' :
				$data['adsent'] = $this -> search -> adsent_count($sw);
				break;
			case 'rflat' :
				
				# $data['adsent'] = $this -> search -> adsent_count('rflat');
				$data['adsent'] = $this -> search -> adsent_count($sw);
				break;
			case 'rsuburbian' :
				$data['adsent'] = $this -> search -> adsent_count($sw);
				break;
			case 'roffice' :
				$data['adsent'] = $this -> search -> adsent_count($sw);
				break;
			default :
				$data['adsent'] = $this -> search -> adsent_count('sflat');
				break;
		}
 
	 
		$value['select'] =  $data['select'];
		$value['box'] = 'region_select';
		$value['who'] = 'content';
		$value['html'] = $this -> load -> view('search_adsent/box/mselect', $data, true);

		echo json_encode($value);
		return;
	}






















	/**
	 * вход в доску объявлений
	 *
	 * @return view отображение
	 * @author  koras
	 */

	public function enter() {

		$this -> load -> model('Views_modul', 'views');
		$this -> load -> model('Telefon_modul', 'tel');

		if ($this -> session -> userdata('activ') == '1') {

			// Пользователь авторизирован
			// значит здесь отображаем профиль
			#	 $this -> session -> userdata('id_phone');
			$this -> session -> userdata('id_phone');
			$data_profiles['sd'] = 's';
			$this -> views -> content = $this -> load -> view('profile/mysettings', $data_profiles, true);

		} ELSE {

			// Пользователь не авторизирован
			$this -> number = $this -> input -> post('telefon');

			$datas['telefon'] = $this -> tel -> number = $this -> number;

			$this -> tel -> password = $this -> input -> post('password');

			if (strlen($this -> input -> post('telefon')) > 9 && $this -> input -> post('password') != '') {

				if ($this -> tel -> enter_adsent() == 1) {
					// Отображаем что нить
					// Это обычный вход пользователя
					// профиль здесь ну не как не нужен

					$this -> load -> library('session');
					#	$this -> session -> userdata('id_phone');

					$data_profiles['id_phone'] = $this -> session -> userdata('id_phone');
					$data_profiles['phone'] = $this -> session -> userdata('phone');

					$data_profiles = $this -> tel -> request_profile($data_profiles['id_phone']);

					$this -> views -> content = $this -> load -> view('profile/mysettings', $data_profiles, true);

				} elseif ($this -> tel -> enter_adsent() == '0') {

					$data_profiles['id_phone'] = $this -> session -> userdata('id_phone');
					$data_profiles['phone'] = $this -> session -> userdata('phone');

					// Первый вход пользователя в систему
					// Отображаем профиль, чтобы пользователь его заполнил

					$this -> views -> content = $this -> load -> view('profile/mysettings', $data_profiles, true);

				} elseif ($this -> tel -> enter_adsent() == 'bad') {
					// Первый вход пользователя в систему
					// Отображаем профиль, чтобы пользователь его заполнил

					$datas['messages'] = 'Пользователь ввёл пароль не корректный';
					$this -> views -> content = $this -> load -> view('adsent/reg/enter.php', $datas, true);
					$this -> tel -> enter_adsent();

				}

			} else {
				$datas['messages'] = 'Пользователь не ввел пароль';
				$this -> views -> content = $this -> load -> view('adsent/reg/enter.php', $datas, true);

			}

		}

		$this -> views -> title = 'Авторизация';
		$this -> views -> menu = 'search';
		$this -> views -> left = '';
		$this -> views -> pathway = '';

		# $this -> views -> content = $this -> load -> view('adsent/reg/enter.php', $datas, true);

		$this -> views -> head = '<link rel="stylesheet" media="screen" href="/css/search.css" type="text/css" />';

		$content = $this -> views -> request_view();
		$this -> load -> view('home', $content);

	}

	public function registration() {

		$this -> load -> model('Views_modul', 'views');
		$send_sms = false;

		$datas['ch'] = TRUE;
		$datas['messages'] = '';

		$this -> load -> model('Telefon_modul', 'tel');

		if ($this -> session -> userdata('activ') == '1') {

			// Пользователь авторизирован
			// значит здесь отображаем профиль
			#	 $this -> session -> userdata('id_phone');
			$id = $this -> session -> userdata('id_phone');
			#	$data_profiles = 's';

			$data_profiles = $this -> tel -> request_profile($id);

			$this -> views -> content = $this -> load -> view('profile/mysettings', $data_profiles, true);
			$this -> views -> title = 'Профиль пользователя';
			$this -> views -> menu = 'profile';
		} ELSE {
			// пользователь не авторизирован
			$this -> number = $this -> input -> post('telefon');
			$datas['telefon'] = $this -> number;

			if (strlen($this -> number) > 8) {

				if ($this -> tel -> check_telefon($this -> number) == false && $datas['ch'] == TRUE) {
					# телефон не корректен
					# отправляем пользователю сообщение
					$datas['ch'] = FALSE;
					$datas['messages'] = 'Телефон не корректен';
				}

				if ($datas['ch'] == TRUE) {

					echo $datas['activ'] = $this -> tel -> check_registration($this -> number);

					if ($datas['activ'] > 0) {
						# номер телефона зарегистрирован и используется.
						$datas['ch'] = FALSE;
						$datas['messages'] = 'Данный телефонный номер зарегистрирован > востановить пароль ?';

					} elseif ($datas['activ'] == '0') {
						# данный номер есть в базе, но он не активный.
						$datas['ch'] = FALSE;
						$datas['messages'] = 'Пароль уже отправлялся ранее. Отправить ещё раз?';

					} elseif ($datas['activ'] == 'no') {
						$datas['messages'] = 'На ваш телефон отправлен пароль.';
					}

				}

				if ($datas['ch'] == TRUE) {
					$this -> tel -> registraton_step1();
					# РЕГИСТРАЦИЯ НОВОГО пользователя
				}

			} else {

				$datas['messages'] = 'Введите Ваш номер телефона';
			}
			$this -> views -> title = 'Регистрация пользователя';
			$this -> views -> content = $this -> load -> view('adsent/reg/step1.php', $datas, true);
			$this -> views -> menu = 'registration';
		}

		$this -> views -> left = '';
		$this -> views -> pathway = '';
		$content = $this -> views -> request_view();
		$this -> load -> view('home', $content);

	}

	/**
	 * профильпользователя
	 *
	 * @return void
	 * @author
	 */

	function profile() {

		$this -> load -> model('Views_modul', 'views');
		if ($this -> session -> userdata('activ') == '1') {
			$this -> load -> model('Telefon_modul', 'tel');
			// Пользователь авторизирован
			// значит здесь отображаем профиль
			#	 $this -> session -> userdata('id_phone');

			$id = $this -> session -> userdata('id_phone');

			$data_profiles = $this -> tel -> request_profile($id);

			$this -> views -> content = $this -> load -> view('profile/mysettings', $data_profiles, true);
			$this -> views -> title = 'Профиль пользователя';
			$this -> views -> menu = 'profile';
			$this -> views -> left = '';
			$this -> views -> pathway = '';
			$content = $this -> views -> request_view();
			$this -> load -> view('home', $content);

		} ELSE {
			$this -> enter();
		}
		return;
	}

	/**
	 * Сохраняем в профиле контактные данные
	 * почту, имя , фамилия и так далее
	 *
	 * @return void
	 * @author
	 */

	function profile_save() {
		$this -> load -> model('Telefon_modul', 'tel');
		$this -> load -> model('Views_modul', 'views');
		$email_reload = 0;

		if ($this -> session -> userdata('activ') == '1') {

			$id = $this -> session -> userdata('id_phone');
			$data_profiles = $this -> tel -> request_profile($id);

			$email = $this -> number = $this -> input -> post('email');
			$name = $this -> number = $this -> input -> post('name');
			$surname = $this -> number = $this -> input -> post('surname');

			if ($surname != '' && $name != '' && $email != '') {

				if ($email != $data_profiles['email']) {
					$email_reload = 1;
					$this -> load -> model('Sendmail_modul', 'sendmail');
					$this -> sendmail -> subject = 'Подтверждение почтового адреса.';
					$this -> sendmail -> html = 'текст с cсылкой';
					$this -> sendmail -> email = $email;
					$this -> sendmail -> people = $data_profiles['user_name'] . ' ' . $data_profiles['user_surname'];
				}
				$this -> tel -> profile_save($data_profiles['user_id'], $email, $name, $surname, $email_reload);
			}
			$this -> profile();

		} ELSE {
			$this -> enter();
		}
		return;
	}

	/**
	 * Сохраняем в профиле контактные данные
	 * почту, имя , фамилия и так далее
	 *
	 * @return void
	 * @author
	 */

	function reload_password() {
		$this -> load -> model('Telefon_modul', 'tel');
		$this -> load -> model('Views_modul', 'views');
		$email_reload = 0;

		if ($this -> session -> userdata('activ') == '1') {

			$id = $this -> session -> userdata('id_phone');
			$data_profiles = $this -> tel -> request_profile($id);

			$oldpass = $this -> number = $this -> input -> post('oldpass');
			$pass1 = $this -> number = $this -> input -> post('pass1');
			$pass2 = $this -> number = $this -> input -> post('pass2');

			if ($pass2 != '' && $oldpass != '') {

				if ($data_profiles['password'] == $oldpass) {
					if ($pass1 == $pass2) {
						if (strlen($pass2) >= 6) {
							$this -> tel -> reload_pass($id, $pass2);
						} else {
							// новый пароль меньше 6 символов
						}
					} else {
						// пароли не совпадают
					}
				} else {
					// старый пароль не верен
				}
			}

			$this -> profile();

		} ELSE {
			$this -> enter();
		}

		return;
	}

	/**
	 * Рассылка, на что подписан пользователь и на что подпишется
	 *
	 * @return void
	 * @author
	 */

	function send_email() {

		$this -> load -> model('Views_modul', 'views');
		if ($this -> session -> userdata('activ') == '1') {
			// Пользователь авторизирован
			// значит здесь отображаем профиль
			#	 $this -> session -> userdata('id_phone');
			$this -> session -> userdata('id_phone');
			$data_profiles['sd'] = 's';
			$this -> views -> content = $this -> load -> view('profile/email', $data_profiles, true);
			$this -> views -> title = 'Ваша рассылка';
			$this -> views -> menu = 'email';
			$this -> views -> left = '';
			$this -> views -> pathway = '';
			$content = $this -> views -> request_view();
			$this -> load -> view('home', $content);

		} ELSE {
			$this -> enter();
		}
		return;
	}
 


	/**
	 * Закладки на поиск
	 * Пользователь ищет и оставляет свои закладки
	 * @return void
	 * @author
	 */

	function bookmarks() {
        $this -> load -> model('Views_modul', 'views');
        $this -> load -> model('Bookmark_modul','bookmark');
        
        
        if ($this -> session -> userdata('activ') == '1') {
            // Пользователь авторизирован
            // значит здесь отображаем профиль
            #    $this -> session -> userdata('id_phone');
            $this -> session -> userdata('id_phone');
            $data_profiles['sd'] = 's';
            
            
            $datas['notes'] = $this-> bookmark -> load();
            
            
            $this -> views -> content = $this -> load -> view('profile/bookmarks', $datas, true);
            
        
            $this -> views -> title = 'Ваш блокнот';
            $this -> views -> menu = 'notepad';
            $this -> views -> left = '';
            $this -> views -> pathway = '';
            $content = $this -> views -> request_view();
            $this -> load -> view('home', $content);
        } ELSE {
            $this -> enter();
        }
		return;
	}

	/**
	 * логоут пользователя
	 * не доделан
	 * @return void
	 * @author
	 */
	function exits() {
		$this -> load -> model('Telefon_modul', 'tel');
		$this -> tel -> logout();
		$this -> enter();

	}

}
